AT-NFC  2.1 (win)
AT-NFC kernel set
Typedefs | Functions
hal_nfcl1.h File Reference

Go to the source code of this file.

Macros

#define KER_NFCL1_LE_MAX   0x0000
 
#define KER_NFCL1_LE_NULL   0xFFFF
 
#define KER_NFCL1_APDU_CASE1   0x01
 
#define KER_NFCL1_APDU_CASE2   0x02
 
#define KER_NFCL1_APDU_CASE3   0x03
 
#define KER_NFCL1_APDU_CASE4   0x04
 
#define KER_NFCL1_PHISICAL_CARD_TYPE_DEFAULT   0x0000
 
#define KER_NFCL1_PHISICAL_CARD_TYPE_NONE   0x0000
 
#define KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_A   0x0001
 
#define KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_B   0x0002
 
#define KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_4_A   0x0004
 
#define KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_4_B   0x0008
 
#define KER_NFCL1_PHISICAL_CARD_TYPE_MIFARE_A_STD   0x0010
 
#define KER_NFCL1_PHISICAL_CARD_TYPE_MIFARE_A_UL   0x0020
 
#define KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_AND_MIFARE   0x0040
 
#define KER_NFCL1_PHISICAL_CARD_TYPE_UNKNOWN   0x8000
 
#define KER_NFCL1_PU_POLLING_TIMEOUT   0xFFFFFFFE
 
#define KER_NFCL1_POLLING_TIMEOUT   0xFFFE
 
#define KER_NFCL1_DEF_TIMEOUT   0xFFFF
 
#define KER_NFCL1_PU_RES_TIMEOUT   0xFD01
 
#define KER_NFCL1_PU_RES_COLLISION   0xFD02
 
#define KER_NFCL1_PU_RES_COMM_ERROR   0xFD03
 
#define KER_NFCL1_PU_RES_FATAL_ERROR   0xFD04
 
#define KER_NFCL1_CR_RES_TIMEOUT   0xFD0A
 
#define KER_NFCL1_CR_HW_ERROR   0xFD0B
 
#define KER_NFCL1_RES_TIMEOUT   0xFE01
 
#define KER_NFCL1_RES_PENDING   0xFE02
 
#define KER_NFCL1_RES_TRANSMISSION   0xFE03
 
#define KER_NFCL1_RES_PROTOCOL   0xFE04
 
#define KER_NFCL1_RES_HW_ERROR   0xFE05
 
#define KER_NFCL1_RES_UNKNOWN   0xFE0F
 

Typedefs

typedef KER_BOOL(KER_API * CALLBACK_NFCL1_EXCHANGE_APDU) (KER_CTX_PARAM KER_VOID *pCallbackHandle, KER_BYTE btApduCase, KER_BYTE btCLA, KER_BYTE btINS, KER_BYTE btP1, KER_BYTE btP2, KER_INT16U usLc, const KER_BYTE *pbtDataIn, KER_INT16U usLe, KER_BYTE *pbtDataOut, KER_INT16U *pusDataOut, KER_INT16U usDataOutSize, KER_INT16U *pusSW1SW2)
 Callback type to send APDU requset and obtain APDU response from card. More...
 
typedef KER_BOOL(KER_API * CALLBACK_NFCL1_SEND_C_APDU) (KER_CTX_PARAM KER_VOID *pCallbackHandle, KER_BYTE btApduCase, KER_BYTE btCLA, KER_BYTE btINS, KER_BYTE btP1, KER_BYTE btP2, KER_INT16U usLc, const KER_BYTE *pbtDataIn, KER_INT16U usLe)
 Callback type to send APDU requset to card. More...
 
typedef KER_RES(KER_API * CALLBACK_NFCL1_RECV_R_APDU) (KER_CTX_PARAM KER_VOID *pCallbackHandle, KER_INT16U usTimeout, KER_BYTE *pbtDataOut, KER_INT16U *pusDataOut, KER_INT16U usDataOutSize, KER_INT16U *pusSW1SW2, KER_INT32U *pulExecutionTime)
 Callback type to obtain APDU response from card. More...
 
typedef KER_BOOL(KER_API * CALLBACK_NFCL1_CARD_FIELD_OFF) (KER_CTX_PARAM KER_VOID *pCallbackHandle)
 Callback type to power down the RF card. More...
 
typedef KER_RES(KER_API * CALLBACK_NFCL1_CARD_POLL) (KER_CTX_PARAM KER_VOID *pCallbackHandle, KER_INT32U ulTimeout, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen)
 Callback type to power up the RF card. More...
 
typedef KER_BOOL(KER_API * CALLBACK_NFCL1_GET_CARD_INFO) (KER_CTX_PARAM KER_VOID *pCallbackHandle, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen)
 Callback type to get info of a previously tapped card. More...
 
typedef KER_RES(KER_API * CALLBACK_NFCL1_CARD_REMOVAL_PROCEDURE) (KER_CTX_PARAM KER_VOID *pCallbackHandle, KER_INT32U ulTimeout)
 Callback type to perform EMV L1 card removal procedure Called by Entry Point only. More...
 
typedef KER_BOOL(KER_API * CALLBACK_NFCL1_RESET_OPERATION_FIELD) (KER_CTX_PARAM KER_VOID *pCallbackHandle)
 Callback type to reset operation field Called by Entry Point only. More...
 
typedef KER_BOOL(KER_API * CALLBACK_NFCL1_GET_READER_SERIAL_NUMBER) (KER_CTX_PARAM KER_VOID *pCallbackHandle, KER_CHAR *pchData, KER_BYTE *pbtDataLen)
 Callback type to get serial number of the Cless IFD. More...
 
typedef KER_BOOL(KER_API * CALLBACK_NFCL1_GET_READER_TYPE_ID) (KER_CTX_PARAM KER_VOID *pCallbackHandle, KER_CHAR *pchData, KER_INT16U *pbtDataLen)
 Callback type to get reader type id of the Cless IFD. More...
 

Functions

KER_BOOL hal_nfcl1_exchange_apdu (KER_CTX_PARAM KER_BYTE btApduCase, KER_BYTE btCLA, KER_BYTE btINS, KER_BYTE btP1, KER_BYTE btP2, KER_INT16U usLc, const KER_BYTE *pbtDataIn, KER_INT16U usLe, KER_BYTE *pbtDataOut, KER_INT16U *pusDataOut, KER_INT16U usDataOutSize, KER_INT16U *pusSW1SW2)
 Send APDU requset and obtain APDU response from card. More...
 
KER_BOOL hal_nfcl1_send_c_apdu (KER_CTX_PARAM KER_BYTE btApduCase, KER_BYTE btCLA, KER_BYTE btINS, KER_BYTE btP1, KER_BYTE btP2, KER_INT16U usLc, const KER_BYTE *pbtDataIn, KER_INT16U usLe)
 Send APDU requset to card. More...
 
KER_RES hal_nfcl1_recv_r_apdu (KER_CTX_PARAM KER_INT16U usTimeout, KER_BYTE *pbtDataOut, KER_INT16U *pusDataOut, KER_INT16U usDataOutSize, KER_INT16U *pusSW1SW2, KER_INT32U *pulExecutionTime)
 Obtain APDU response from card. More...
 
KER_RES hal_nfcl1_card_poll (KER_CTX_PARAM KER_INT32U ulTimeout, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen)
 PCD field on and card polling during specified timeout. More...
 
KER_BOOL hal_nfcl1_get_card_info (KER_CTX_PARAM KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen)
 Get info of a previously tapped card. More...
 
KER_RES hal_nfcl1_card_removal_procedure (KER_CTX_PARAM KER_INT32U ulTimeout)
 Performs EMV L1 card removal procedure. More...
 
KER_BOOL hal_nfcl1_field_off (KER_CTX_SINGLE_PARAM)
 PCD field off request. More...
 
KER_BOOL hal_nfcl1_reset_operation_field (KER_CTX_SINGLE_PARAM)
 Reset operation field. More...
 
KER_BOOL hal_nfcl1_get_reader_serial_number (KER_CTX_PARAM KER_CHAR *pchData, KER_BYTE *pbtDataLen)
 Get serial number of the IFD. More...
 

Detailed Description

HAL card reader NFC Level 1 interface definition